/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tesis2.pucp.Envio.Controlador;

import com.tesis2.pucp.Envio.DAO.HorarioDAO;
import com.tesis2.pucp.Envio.Vista.TurnoGUI;
import com.tesis2.pucp.Modelo.TesisHorario;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author jorge
 */
public class HorarioControlador {
    private HorarioDAO m;
    private TurnoGUI HorarioView;
    private TesisHorario horario;
    private BuscarHorarioControlador buscarHorarioControlador;

    public HorarioControlador(HorarioDAO dao, TurnoGUI view, BuscarHorarioControlador buc, TesisHorario vehiculo){
        m = dao;
        HorarioView = view;
        buscarHorarioControlador = buc;
        this.horario=vehiculo;
        HorarioView.setFormHorario(this.horario);
        
        HorarioView.addCancelarListener(new cancelarListener());        
        HorarioView.addLimpiarListener(new limpiarListener());              
        HorarioView.addGuardarListener(new guardarHorarioListener());
        
    } 
        
    class guardarHorarioListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            TesisHorario a = new TesisHorario();
            a.setDescripcion(HorarioView.getDescripcion());
            SimpleDateFormat formato = new SimpleDateFormat("H:mm");
            try {
                a.setEntrada(formato.parse(HorarioView.getHoraInicio()));
                a.setSalida(formato.parse(HorarioView.getHoraFin())); 
            } catch (ParseException ex) {
                Logger.getLogger(HorarioControlador.class.getName()).log(Level.SEVERE, null, ex);
            }
            m.guardarHorario(a);
            if (horario!=null) {HorarioView.mostrarAviso("Se modificó el turno con éxito");}
            else { HorarioView.mostrarAviso("Se registró el turno con éxito");}
            buscarHorarioControlador.listarResultados();            
            HorarioView.dispose();            
        }
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            HorarioView.dispose();
        }        
    }    
           
    
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            HorarioView.LimpiarDatos();
        }        
    }    
}
